import sympy as sp
from sympy import latex
from sympy.plotting import plot, plot3d
import matplotlib.pyplot as plt

# 设置matplotlib全局中文字体
plt.rcParams['font.sans-serif'] = ['SimHei', 'Microsoft YaHei', 'SimSun']  # 中文黑体、微软雅黑、宋体
plt.rcParams['axes.unicode_minus'] = False  # 解决负号显示问题

# 定义符号变量
x, y = sp.symbols('x y')

# LaTeX输出
expr = x**2 + 2*x + 1
latex_code = latex(expr)
print("LaTeX代码:", latex_code)  # 输出 x^{2} + 2 x + 1

# 绘制2D函数图像
p1 = plot(x**2, (x, -5, 5), title='二次函数', show=False)
p1.show()

# 绘制3D函数图像
p2 = plot3d(x*sp.exp(-x**2 - y**2), (x, -3, 3), (y, -2, 2), 
            title='三维函数', show=False)
p2.show()